// GENERAL
$(document).ready(function() {
	$("#btResetEquipo").click(function() {
		$("#txtEquipoLiga").removeClass("campoError");
		$("#msjEquipoLiga").html("");
		$("#msjEquipoLiga").removeClass("msjError");
		$("#msjEquipoLiga").hide();
	});
	$("#btResetEntrenador").click(function() {
		$("#txtTlfEntr").removeClass("campoError");
		$("#txtDniEntr").removeClass("campoError");
		$("#txtApellEntr").removeClass("campoError");
		$("#txtNombreEntr").removeClass("campoError");
		$("#msjTlfEntr").hide();
		$("#msjDniEntr").hide();
		$("#msjApellEntr").hide();
		$("#msjNombreEntr").hide();
	});
	$("#btResetUsuario").click(function() {
		$("#txtUsuarioUser").removeClass("campoError");
		$("#txtEmailUser").removeClass("campoError");
		$("#txtContraseniaUser").removeClass("campoError");
		$("#txtReContraseniaUser").removeClass("campoError");
		$("#msjUsuarioUser").hide();
		$("#msjEmailUser").hide();
		$("#msjContraseniaUser").hide();
		$("#msjNombreEntr").hide();
	});

	/* Close de PopUps */
	// Entrenador
	$("#closeEntr").click(function() {
		$("#popUpEntr").fadeOut("slow");
	});
	// Equipo
	$("#closeEq").click(function() {
		$("#popUpEq").fadeOut("slow");
	});
	// Usuarios
	$("#closeUser").click(function() {
		$("#popUpUser").fadeOut("slow");
	});
});

// CERRAR POPUPS
function cerrarPopup(nombre) {
	$("#" + nombre).fadeOut("slow");
}

/**
 * Gestión de equipos
 */
// ALTA EQUIPO
function altaEquipo() {
	var categoria = $("#slCategoria").val();
	var genero = $("#slGenero").val();
	var liga = $("#txtEquipoLiga").val();
	var entrenador = $("#slEntrenador").val();

	if (liga != "") {
		$("#txtEquipoLiga").removeClass("campoError");
		var parametros = {
			"Categoria" : categoria,
			"Genero" : genero,
			"Liga" : liga,
			"ID_Entr" : entrenador
		};

		$.ajax({
			data : parametros,
			url : 'servicios/bamEquipo/altaEquipo.php',
			type : 'post',
			dataType : "html",
			beforeSend : function() {

			},
			success : function(response) {
				if (response != "") {
					// TODO: error
					alert(response);
				} else {
					alert("Equipo añadido correctmente");
					cargarListaEquipos();
				}
				$("#btResetEquipo").click();
			}
		});
	} else {
		// la liga es obligatoria
		$("#txtEquipoLiga").addClass("campoError");
		$("#txtEquipoLiga").focus();
		$("#msjEquipoLiga").html("La liga es obligatoria");
		$("#msjEquipoLiga").addClass("msjError");
		$("#msjEquipoLiga").show();
	}
}
// CARGA SELECT ENTRENADORES DEL FORMULARIO DE ALTA DE EQUIPOS
function cargaSelectEntr() {
	$("#slEntrenador option").remove();

	$.ajax({
		url : 'servicios/bamEquipo/selectEntrenadores.php',
		type : 'post',
		dataType : "html",
		success : function(response) {
			$("#slEntrenador").append(response);
		}
	});

}
// CARGAR LISTA EQUIPOS
function cargarListaEquipos() {
	$.ajax({
		url : 'servicios/bamEquipo/listaEquipos.php',
		type : 'post',
		dataType : "html",
		success : function(response) {
			if (response != "") {
				$("#listaEquipos").html(response);
			} else {
				$("#listaEquipos").html("No hay elementos");
			}
		}
	});

}
// CAMBIA MODO EDITAR
function cambiaEditarEq(id) {
	cargaSelectEntrEditEq(id);
	$("#editEqCat" + id + " option[value ='" + $("#catEq" + id).val() + "']")
			.attr("selected", "selected");
	$("#editEqGen" + id + " option[value ='" + $("#genEq" + id).val() + "']")
			.attr("selected", "selected");
	$("#filaVerEq" + id).hide();
	$("#filaEditEq" + id).show();
}
// CAMBIA MODO VER
function cambiaVerEq(id) {
	$("#filaEditEq" + id).hide();
	$("#filaVerEq" + id).show();
}
// CARGAR SELECT ENTRENADOR EDITAR EQUIPO
function cargaSelectEntrEditEq(id) {
	$("#editEqEntr" + id + " option").remove();
	var parametros = {
		"ID_sel" : $("#idEntrEq" + id).val()
	};
	$.ajax({
		data : parametros,
		url : 'servicios/bamEquipo/selectEntrenadores.php',
		type : 'post',
		dataType : "html",
		success : function(response) {
			$("#editEqEntr" + id).append(response);
		}
	});
}
// EDITAR EQUIPO
function editarEquipo(id) {

	var categoria = $("#editEqCat" + id).val();
	var genero = $("#editEqGen" + id).val();
	var liga = $("#editEqLiga" + id).val();
	var entrenador = $("#editEqEntr" + id).val();
	var idEntrOrig = $("#idEntrEq" + id).val();
	var error = false;
	var msj = "";

	if (liga == "") {
		if (msj != "") {
			msj += "\r\n";
		}
		msj += "- Liga en blanco.";
		error = true;
	}

	if (!error) {
		var parametros = {
			"ID" : id,
			"Categoria" : categoria,
			"Genero" : genero,
			"Liga" : liga,
			"ID_Entr" : entrenador,
			"ID_EntrOrig" : idEntrOrig
		};

		$.ajax({
			data : parametros,
			url : 'servicios/bamEquipo/editarEquipo.php',
			type : 'post',
			dataType : "html",
			beforeSend : function() {

			},
			success : function(response) {
				if (response != "") {
					// TODO: error
					alert(response);
				} else {
					alert("Equipo editado correctamente");

					$("#verEqNom" + id).html(
							$(
									"#editEqCat" + id + " option[value ='"
											+ categoria + "']").text()
									+ " "
									+ $(
											"#editEqGen" + id
													+ " option[value ='"
													+ genero + "']").text()
									+ " " + liga);
					$("#verEqEntr" + id).html(
							$("#editEqEntr" + id + " option:selected").text());
					$("#catEq" + id).val(categoria);
					$("#genEq" + id).val(genero);
					$("#ligaEq" + id).val(liga);
				}

				cambiaVerEq(id);
			}
		});
	} else {
		// TODO: error
		alert("Hay los siguientes errores:\r\n" + msj);
		$("#editEqCat" + id).val($("#catEq" + id).val());
		$("#editEqGen" + id).val($("#genEq" + id).val());
		$("#editEqLiga" + id).val($("#ligaEq" + id).val());
		$("#editEqEntr" + id + " option[value ='" + idEntrOrig + "']").attr(
				"selected", "selected");
		// TODO: Ver como hacer para restaurar los originales :S (hiddens a
		// tope?)
	}
}
// PREPARA EL POPUP PARA CONFIRMAR ELIMINAR EQUIPO
function popUpDelEq(id) {
	var cadena = "";

	cadena += "<div class='msjConfirmar'>";
	cadena += "¿Está seguro de querer borrar este equipo?";
	cadena += "</div>";

	cadena += "<div class='btnsConfirmar'>";
	cadena += "<input type='button' id='delEqSi' value='Sí' onclick='borrarEquipo("
			+ id + ")' />";
	cadena += "<input type='button' id='delEqNo' value='No' onclick='cerrarPopup(\"popUpEq\")'/>";
	cadena += "</div>";

	$("#contentPopUpEq").html(cadena);
	$("#popUpEq").fadeIn("slow");
}

// BORRAR EQUIPO
function borrarEquipo(id) {
	var parametros = {
		"ID" : id
	};
	$.ajax({
		data : parametros,
		url : 'servicios/bamEquipo/borrarEquipo.php',
		type : 'post',
		dataType : "html",
		beforeSend : function() {

		},
		success : function(response) {
			if (response != "") {
				// TODO: error
				alert(response);
			} else {
				alert("Equipo eliminado correctamente");
				cargarListaEquipos();
			}
		}
	});
	$("#popUpEq").fadeOut("slow");
}
/**
 * Gestión entrenadores
 */
// ALTA ENTRENADOR
function altaEntrenador() {
	var nombre = $("#txtNombreEntr").val();
	var apellidos = $("#txtApellEntr").val();
	var dni = $("#txtDniEntr").val();
	var tlf = $("#txtTlfEntr").val();

	var error = false;
	$("#txtTlfEntr").removeClass("campoError");
	$("#txtDniEntr").removeClass("campoError");
	$("#txtApellEntr").removeClass("campoError");
	$("#txtNombreEntr").removeClass("campoError");
	$("#msjTlfEntr").hide();
	$("#msjDniEntr").hide();
	$("#msjApellEntr").hide();
	$("#msjNombreEntr").hide();

	if (tlf == "") {
		$("#txtTlfEntr").addClass("campoError");
		$("#txtTlfEntr").focus();
		$("#msjTlfEntr").html("El teléfono es obligatorio");
		$("#msjTlfEntr").addClass("msjError");
		$("#msjTlfEntr").show();
		error = true;
	}
	if (dni == "") {
		$("#txtDniEntr").addClass("campoError");
		$("#txtDniEntr").focus();
		$("#msjDniEntr").html("El DNI es obligatorio");
		$("#msjDniEntr").addClass("msjError");
		$("#msjDniEntr").show();
		error = true;
	} else {
		if (!validarNif(dni)) {
			$("#txtDniEntr").addClass("campoError");
			$("#txtDniEntr").focus();
			$("#msjDniEntr").html("El DNI no es correcto");
			$("#msjDniEntr").addClass("msjError");
			$("#msjDniEntr").show();
			error = true;
		}
	}
	if (apellidos == "") {
		$("#txtApellEntr").addClass("campoError");
		$("#txtApellEntr").focus();
		$("#msjApellEntr").html("Los apellidos son obligatorios");
		$("#msjApellEntr").addClass("msjError");
		$("#msjApellEntr").show();
		error = true;
	}
	if (nombre == "") {
		$("#txtNombreEntr").addClass("campoError");
		$("#txtNombreEntr").focus();
		$("#msjNombreEntr").html("El nombre es obligatorio");
		$("#msjNombreEntr").addClass("msjError");
		$("#msjNombreEntr").show();
		error = true;
	}

	if (!error) {
		var parametros = {
			"Nombre" : nombre,
			"Apellidos" : apellidos,
			"DNI" : dni,
			"Telf" : tlf
		};
		$.ajax({
			data : parametros,
			url : 'servicios/bamEntrenador/altaEntrenador.php',
			type : 'post',
			dataType : "html",
			beforeSend : function() {

			},
			success : function(response) {
				if (response != "") {
					// TODO: error
					alert(response);
				} else {
					alert("Entrenador añadido correctmente");
					cargarListaEntr();
				}
				$("#btResetEntrenador").click();
			}
		});
	}
}
// CARGAR LISTA ENTRENADOR
function cargarListaEntr() {
	$cadena = "";
	$.ajax({
		url : 'servicios/bamEntrenador/listaEntrenador.php',
		type : 'post',
		dataType : "html",
		success : function(response) {
			if (response != "") {
				$("#listaEntrenadores").html(response);
			} else {
				$("#listaEntrenadores").html("No hay elementos");
			}
		}
	});

}

// CAMBIAR MODO EDITAR
function cambiaEditarEntr(id) {
	$("#filaVerEntr" + id).hide();
	$("#filaEditEntr" + id).show();
}
// CAMBIA MODO VER
function cambiaVerEntr(id) {
	$("#filaEditEntr" + id).hide();
	$("#filaVerEntr" + id).show();
}
// EDITAR ENTRENADOR
function editarEntrenador(id) {
	var nombre = $("#editEntrNom" + id).val();
	var apellidos = $("#editEntrApe" + id).val();
	var dni = $("#editEntrDni" + id).val();
	var tlf = $("#editEntrTlf" + id).val();

	var error = false;
	var msj = "";

	if (tlf == "") {
		msj += "- Teléfono en blanco.";
		error = true;
	}
	if (dni == "") {
		if (msj != "") {
			msj += "\r\n";
		}
		msj += "- DNI en blanco.";
		error = true;
	} else {
		if (!validarNif(dni)) {
			if (msj != "") {
				msj += "\r\n";
			}
			msj += "- DNI formato incorrecto.";
			error = true;
		}
	}
	if (apellidos == "") {
		if (msj != "") {
			msj += "\r\n";
		}
		msj += "- Apellidos en blanco.";
		error = true;
	}
	if (nombre == "") {
		if (msj != "") {
			msj += "\r\n";
		}
		msj += "- Nombre en blanco.";
		error = true;
	}

	if (!error) {
		var parametros = {
			"ID" : id,
			"Nombre" : nombre,
			"Apellidos" : apellidos,
			"DNI" : dni,
			"Telf" : tlf
		};
		$.ajax({
			data : parametros,
			url : 'servicios/bamEntrenador/editarEntrenador.php',
			type : 'post',
			dataType : "html",
			beforeSend : function() {

			},
			success : function(response) {
				if (response != "") {
					// TODO: error
					alert(response);
				} else {
					alert("Entrenador editado correctmente");
					$("#verEntrApe" + id).html(apellidos);
					$("#verEntrNom" + id).html(nombre);
					$("#verEntrDni" + id).html(dni);
					$("#verEntrTlf" + id).html(tlf);
				}

				cambiaVerEntr(id);
			}
		});
	} else {
		// TODO: error
		alert("Hay los siguientes errores:\r\n" + msj);
		$("#editEntrNom" + id).val($("#verEntrNom" + id).html());
		$("#editEntrApe" + id).val($("#verEntrApe" + id).html());
		$("#editEntrDni" + id).val($("#verEntrDni" + id).html());
		$("#editEntrTlf" + id).val($("#verEntrTlf" + id).html());
	}
}

// PREPARA EL POPUP PARA CONFIRMAR ELIMINAR ENTRENADOR
function popUpDelEntr(id) {
	var cadena = "";

	cadena += "<div class='msjConfirmar'>";
	cadena += "¿Está seguro de querer borrar este entrenador?";
	cadena += "</div>";

	cadena += "<div class='btnsConfirmar'>";
	cadena += "<input type='button' id='delEntrSi' value='Sí' onclick='borrarEntrenador("
			+ id + ")' />";
	cadena += "<input type='button' id='delEntrNo' value='No' onclick='cerrarPopup(\"popUpEntr\")'/>";
	cadena += "</div>";

	$("#contentPopUpEntr").html(cadena);
	$("#popUpEntr").fadeIn("slow");
}

// BORRAR ENTRENADOR
function borrarEntrenador(id) {

	var parametros = {
		"ID" : id
	};
	$.ajax({
		data : parametros,
		url : 'servicios/bamEntrenador/borrarEntrenador.php',
		type : 'post',
		dataType : "html",
		beforeSend : function() {

		},
		success : function(response) {
			if (response != "") {
				// TODO: error
				alert(response);
			} else {
				alert("Entrenador eliminado correctmente");
				cargarListaEntr();
			}
		}
	});
	$("#popUpEntr").fadeOut("slow");
}

/**
 * Gestión usuarios
 */
// CARGA SELECT ENTRENADORES ALTA USUARIO
function cargaSelectUser() {
	$("#slEntrenadorUser option").remove();

	$.ajax({
		url : 'servicios/bamEquipo/selectEntrenadores.php',
		type : 'post',
		dataType : "html",
		success : function(response) {
			$("#slEntrenadorUser").append(response);
		}
	});
}

// CARGA LISTA USUARIOS
function cargarListaEntr() {
	$cadena = "";
	$.ajax({
		url : 'servicios/usuarios/bamUsuarios/listaUsuarios.php',
		type : 'post',
		dataType : "html",
		success : function(response) {
			if (response != "") {
				$("#listaUsuarios").html(response);
			} else {
				$("#listaUsuarios").html("No hay elementos");
			}
		}
	});

}